home *** CD-ROM | disk | FTP | other *** search
/ Tech Win 1995 November / CD [TECH_B].bin / tech_b / delphi / trial / disk4 / doc.pak / MPLAYER.INT < prev    next >
Encoding:
Text File  |  1995-08-08  |  4.3 KB  |  119 lines

  1. {*******************************************************}
  2. {                                                       }
  3. {       Delphi Visual Component Library                 }
  4. {                                                       }
  5. {       Copyright (c) 1995 Borland International        }
  6. {                                                       }
  7. {*******************************************************}
  8.  
  9. unit MPlayer;
  10.  
  11. interface
  12.  
  13. uses WinTypes, Classes, Controls, Forms, Graphics, Messages,
  14.   MMSystem, Dialogs, SysUtils;
  15.  
  16. type
  17.   TMPBtnType = (btPlay, btPause, btStop, btNext, btPrev, btStep, btBack,
  18.     btRecord, btEject);
  19.   TButtonSet = set of TMPBtnType;
  20.  
  21.   TMPGlyph = (mgEnabled, mgDisabled, mgColored);
  22.   TMPButton = record
  23.     Visible: Boolean;
  24.     Enabled: Boolean;
  25.     Colored: Boolean;
  26.     Auto: Boolean;
  27.     Bitmaps: array[TMPGlyph] of TBitmap;
  28.   end;
  29.  
  30.   TMPDeviceTypes = (dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie,
  31.     dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc, dtWaveAudio);
  32.   TMPTimeFormats = (tfMilliseconds, tfHMS, tfMSF, tfFrames, tfSMPTE24, tfSMPTE25,
  33.     tfSMPTE30, tfSMPTE30Drop, tfBytes, tfSamples, tfTMSF);
  34.   TMPModes = (mpNotReady, mpStopped, mpPlaying, mpRecording, mpSeeking,
  35.     mpPaused, mpOpen);
  36.   TMPNotifyValues = (nvSuccessful, nvSuperseded, nvAborted, nvFailure);
  37.     
  38.   TMPDevCaps = (mpCanStep, mpCanEject, mpCanPlay, mpCanRecord, mpUsesWindow);
  39.   TMPDevCapsSet = set of TMPDevCaps;
  40.   
  41.   EMPNotify = procedure (Sender: TObject; Button: TMPBtnType;
  42.     var DoDefault: Boolean) of object;
  43.   EMPPostNotify = procedure (Sender: TObject; Button: TMPBtnType) of object;
  44.  
  45.   EMCIDeviceError = class(Exception);
  46.   
  47.   TMediaPlayer = class(TCustomControl)
  48.   protected
  49.     procedure Loaded; override;
  50.     procedure AutoButtonSet(Btn: TMPBtnType); dynamic;
  51.     procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  52.     procedure Paint; override;
  53.     procedure MMNotify(var Message: TMessage); message MM_MCINOTIFY;
  54.     procedure Click(Button: TMPBtnType; var DoDefault: Boolean); dynamic;
  55.     procedure PostClick(Button: TMPBtnType); dynamic;
  56.     procedure DoNotify; dynamic;
  57.   public
  58.     constructor Create(AOwner: TComponent); override;
  59.     destructor Destroy; override;
  60.     procedure Open;
  61.     procedure Close;
  62.     procedure Play;
  63.     procedure Stop;
  64.     procedure Pause; {Pause & Resume/Play}
  65.     procedure Step;
  66.     procedure Back;
  67.     procedure Previous;
  68.     procedure Next;
  69.     procedure StartRecording;
  70.     procedure Eject;
  71.     procedure Save;
  72.     procedure PauseOnly;
  73.     procedure Resume;
  74.     procedure Rewind;
  75.     property TrackLength[TrackNum: Integer]: Longint;
  76.     property TrackPosition[TrackNum: Integer]: Longint;
  77.     property Capabilities: TMPDevCapsSet;
  78.     property Error: Longint;
  79.     property ErrorMessage: string;
  80.     property Start: Longint;
  81.     property Length: Longint;
  82.     property Tracks: Longint;
  83.     property Frames: Longint;
  84.     property Mode: TMPModes;
  85.     property Position: Longint;
  86.     property Wait: Boolean;
  87.     property Notify: Boolean;
  88.     property NotifyValue: TMPNotifyValues;
  89.     property StartPos: Longint;
  90.     property EndPos: Longint;
  91.     property DeviceID: Word;
  92.     property TimeFormat: TMPTimeFormats;
  93.     property DisplayRect: TRect;
  94.   published
  95.     property ColoredButtons: TButtonSet default [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject];
  96.     property Enabled;
  97.     property EnabledButtons: TButtonSet default [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject];
  98.     property VisibleButtons: TButtonSet default [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject];
  99.     property AutoEnable: Boolean default True;
  100.     property AutoOpen: Boolean default False;
  101.     property AutoRewind: Boolean default True;
  102.     property DeviceType: TMPDeviceTypes default dtAutoSelect;
  103.     property Display: TWinControl;
  104.     property FileName: string;
  105.     property Shareable: Boolean default False;
  106.     property Visible;
  107.     property ParentShowHint;
  108.     property ShowHint;
  109.     property TabOrder;
  110.     property TabStop;
  111.     property OnClick: EMPNotify;
  112.     property OnEnter;
  113.     property OnExit;
  114.     property OnPostClick: EMPPostNotify;
  115.     property OnNotify: TNotifyEvent;
  116.   end;
  117.  
  118. implementation
  119.